package thread;

/**
 * java中的所有代码都是靠线程执行的，main方法也不例外
 * 执行main方法的线程都是由Jvm创建的，我们通常称它为主线程
 * 线程提供了一个静态方法:
 * static Thread currentThread()
 * 用于获取运行该方法的线程
 */
public class ThreadInfoDemo {
    public static void main(String[] args) {
        Thread main = Thread.currentThread();//获取主线程
        System.out.println(main);//Thread[main,5,main] main表示线程名字(只有主线程有名字),5是优先级
        doSome();//主线程调用doSome方法
        //main 方法由主线程执行，main 里调用 doSome，所以是主线程调用了 doSome 方法，doSome 方法的执行逻辑也就依附于主线程的执行流程 。
    }

    public static  void doSome(){
        Thread t = Thread.currentThread();//获取的是调用doSome方法的线程
        System.out.println("运行doSome方法的线程:"+t);

        System.out.println("线程的名字:"+t.getName());  //main
        System.out.println("线程的唯一标识:"+t.getId());  //1
        System.out.println("线程的优先级:"+t.getPriority());  //5

        System.out.println("线程是否活着:"+t.isAlive()); //true
        System.out.println("线程是否为守护线程:"+t.isDaemon()); //false
        System.out.println("线程是否被中断:"+t.isInterrupted());//false

    }
}
